from langchain.agents import ZeroShotAgent, AgentExecutor, Tool
from langchain.chains.llm import LLMChain
from langchain_openai import OpenAI

#
llm = OpenAI(
    api_key="sk-VowKQBUMIkSND8WScNJtDLqf3FyqWHQ43LMVUXH1m6GZaopA",
    base_url="https://ai.nengyongai.cn/v1"
)


# 工具函数
def search(query):
    return 'fadsfdsafdsf'


# 工具
search_tool = Tool(
    name="Search",
    func=search,
    description="用于在互联网上搜索信息的工具。"
)


def test1():
    # 提示词
    prompt = ZeroShotAgent.create_prompt(
        [search_tool],
        prefix="请回答以下问题，必要时可以使用工具。",
        suffix="问题: {input}"
    )
    # 链
    llm_chain = LLMChain(llm=llm, prompt=prompt)

    # 代理
    agent = ZeroShotAgent(llm_chain=llm_chain)
    # 代理执行器
    agent_executor = AgentExecutor.from_agent_and_tools(
        agent=agent,
        tools=[search_tool],
        verbose=True
    )

    # 运行代理
    result = agent_executor.run("人工智能的发展历程是怎样的？")
    print(result)
